
using System.Collections;
using Qdb.Types;

namespace Qdb.Types
{
	/// <summary>qdb List implementation for database-aware lists.</summary>
	/// <remarks>
	/// qdb List implementation for database-aware lists.
	/// <br/><br/>
	/// A <code>QdbList</code> supplies the methods specified in java.util.List.<br/><br/>
	/// All access to the list is controlled by the
	/// <see cref="Qdb.IObjectContainer">IObjectContainer</see>
	/// to help the
	/// programmer produce expected results with as little work as possible:<br/>
	/// - newly added objects are automatically persisted.<br/>
	/// - list elements are automatically activated when they are needed. The activation
	/// depth is configurable with
	/// <see cref="IQdbCollection.ActivationDepth(int)">IQdbCollection.ActivationDepth(int)
	/// 	</see>
	/// .<br/>
	/// - removed objects can be deleted automatically, if the list is configured
	/// with
	/// <see cref="IQdbCollection.DeleteRemoved(bool)">IQdbCollection.DeleteRemoved(bool)
	/// 	</see>
	/// <br/><br/>
	/// Usage:<br/>
	/// - declare a <code>java.util.List</code> variable on your persistent classes.<br/>
	/// - fill this variable with a method in the ObjectContainer collection factory.<br/><br/>
	/// <b>Example:</b><br/><br/>
	/// <code>class MyClass{<br/>
	/// &nbsp;&nbsp;List myList;<br/>
	/// }<br/><br/>
	/// MyClass myObject = new MyClass();<br/>
	/// myObject.myList = objectContainer.ext().collections().newLinkedList();
	/// </remarks>
	[System.ObsoleteAttribute(@"since 7.0")]
	public interface IQdbList : IQdbCollection, IList
	{
	}
}
